The present invention relates to providing route guidance with a navigation system, and more particularly, the present invention relates to an improved way to determine bearing data to provide guidance at intersections along a route with a navigation system.
Navigation systems are available that provide end users (such as drivers and passengers of the vehicles in which the navigation systems are installed) with various useful navigation-related features. Some navigation systems are able to determine an optimum route to travel by roads between locations in a geographic region. Using input from the end user, and optionally from equipment that can determine one""s physical location (such as a GPS system), a navigation system can determine an optimum route (i.e., fastest, shortest, etc.) to travel from a starting location to a destination location in a geographic region. The navigation system can then provide the end user with information about the route in the form of guidance that identifies the driving maneuvers required to be taken by the end user to travel from the starting location to the destination location. The guidance may take the form of visual and/or audio instructions that are provided along the way as the end user is traveling the route. In some navigation systems, guidance about a required upcoming maneuver is provided as the location of the required maneuver is being approached. As an example, the guidance may indicate that the driver should keep to the left and make a sharp left turn at the upcoming intersection.
In order to provide these and other navigating functions, navigation systems use geographic data that represent physical features in a geographic region. The geographic data represent the roads and intersections in a geographic region and also may include information relating to the represented roads and intersections, such as turn restrictions at intersections, speed limits along the roads, street names of the various roads, address ranges along the roads, and so on. The geographic data are contained and organized in one or more databases.
In order to provide guidance about required maneuvers, an application in the navigation system evaluates data that relate to each intersection in a route to determine whether guidance should be provided at the intersection. If the navigation system application determines that guidance should be provided at an intersection, then the navigation system application also determines what kind of guidance to provide. A navigation system application that performs these functions is disclosed in U.S. Pat. No. 6,199,013, the entire disclosure of which is incorporated by reference herein.
There are various types of data that relate to an intersection in a route that can be evaluated by a navigation system application in order to determine what type of route guidance, if any, to provide. When evaluating an intersection along a route for this purpose, one of the factors to be considered is the size of the turn angle that is required in order to proceed through the intersection along the route. The size of the turn angle required to proceed through an intersection along a route is the angle made by the road segment leading into the intersection with the route segment leading out of the intersection. For example, if no turn is required at an intersection (i.e., the route proceeds straight through the intersection), the turn angle is approximately 180xc2x0. If the turn angle is approximately 180xc2x0, no guidance may be needed. On the other hand, if a driver is required to make a left turn at an intersection onto another street to continue along a route, the turn angle is approximately 90xc2x0. Under these circumstances, guidance in the form of audible or visual instructions may be needed.
One way to improve operation of a navigation system is to include data in the geographic database used by the navigation system to facilitate certain calculations required by applications in the navigation system. As an example, to facilitate determining the turn angle required to proceed through an intersection, the geographic database used by a navigation system can include data that indicate the bearing of a road segment at each of its endpoints. The bearing of a road segment at each of its endpoints indicates the angle made by the road segment at that endpoint with a predetermined direction (e.g., north). FIGS. 1-10 illustrate examples of how bearing data can be represented in a geographic database used by a navigation system.
FIG. 1 is an illustration of a portion of a road network in a geographic area 100. Four road segments 102, 104, 106 and 108 meet at an intersection 110. The road segment 102 extends between the intersection 110 and the intersection 114, the road segment 104 extends between the intersection 110 and the intersection 116, the road segment 106 extends between the intersection 110 and the intersection 118, and the road segment 108 extends between the intersection 110 and the intersection 112.
FIG. 2 illustrates how these features are represented in a geographic database 120. In the geographic database 120, road segments are represented by road segment data records 121 and nodes (i.e., including intersections) are represented by node data records 130. Road segment 102 is represented by the segment data record 122, road segment 104 is represented by the segment data record 124, road segment 106 is represented by the segment data record 126, and road segment 108 is represented by the segment data record 128. Likewise, each intersection is represented by a node data record. Intersection 110 is represented by the node data record 131, intersection 112 is represented by the node data record 133, intersection 114 is represented by the node data record 135, intersection 116 is represented by the node data record 137, and intersection 118 is represented by the node data record 139. Other road segments and intersections in the geographic area 100 are represented by other data records in the geographic database 120. In addition, the geographic database 120 may include other types of data 140. These other types of data may represent points of interest, towns, cities, counties, states, countries, rivers, lakes, recreational areas, etc.
FIG. 3 is a block diagram that shows some of the components of the road segment data record 122 in the geographic database 120. In FIG. 3, the road segment data record 122 includes data 150 that identify the end points of the road segment. The end points are identified by the node data records (i.e., 131 and 135) that represent the nodes at the end points of the represented road segment 102. The road segment data record 122 also includes data 154 that indicate the successors at each end point. The successors at an end point of a road segment are those other road segments that are accessible via that end point. As shown in FIG. 1, the successors of the road segment 102 via the intersection 110 are the road segments 104, 106 and 108. Accordingly, the data record 122 (in FIG. 3) that represents the road segment 102 includes data 154 that identify these successors. In the data record 122, the successors of the road segment 102 via the intersection 110 are identified by their corresponding road segment data records 124, 126, and 128.
The road segment record 122 also includes data 160 and 162 that indicate the bearing at each endpoint of the road segment. As mentioned above, the bearing of a road segment at one of its end points indicates the angle made by the road segment at that endpoint with a predetermined direction, such as north. FIG. 4 is a graphical representation of the geographic features shown in FIG. 1 formed using the data representations of these features contained in the geographic database 120 of FIG. 2. FIG. 5 is a graphical representation of the road segment 102 in FIG. 1 formed using the data record 122 in FIG. 3. FIG. 5 illustrates the bearings, 160 and 162, at the end points 110 and 114, respectively, of the road segment 102 (represented by data record 122). As indicated in FIG. 5, the bearing of a road segment at each end point is the angle made by the end of the road segment with north. Data indicating these angles are stored in the data record (122 in FIG. 3) that represent this road segment. The bearing data may be stored as an angle or as a fraction (e.g., n/256th) of a circle.
The data records (e.g., 122, 124 in FIG. 2) that represent road segments include (or point to) data that identify the locations of the represented road segments. In the geographic database 120 of FIG. 2, the locations of the represented road segments are indicated using the node data records 130. FIG. 6 shows the node data record 131 that represents the intersection 110 in FIG. 1. In FIG. 6, the node data record 131 includes data 170 that indicate the location (i.e., the geographic coordinates, such as the latitude and longitude) and optionally the altitude of the represented node/intersection. Referring again to FIG. 3, the road segment record 122 includes data that refers to the node data records (131 and 135) that represent the nodes at the end points of the represented road segment where the locations of the end points can be found. Because the represented road segment 102 is straight, all locations along the road segment can be determined by calculating a straight line that connects the locations of the end points.
If the road segment is curved (or other-than-straight), the road segment data record includes data by which the shape of the road segment between its end points can be determined. In the geographic database 120 in FIG. 2, curved road segments are represented using shape points. FIG. 7 shows an intersection 190 of three curved road segments 192, 194 and 196. FIG. 8 shows graphically how these road segments are represented using data in the geographic database. As described above, the end points of each road segment are represented by node data records, each of which contains data that indicate the locations (e.g., the geographic coordinates) of the represented node and therefore the locations (e.g., the geographic coordinates) of the end points of the road segments that meet at the node. In addition, one or more shape points are identified along each curved road segment. Shape points are points that coincide with the road segment between the end points thereof. Shape points are used to approximate the curving shape of the represented road segment. The number of shape points stored between a given set of end points depends on the shape of the curve and the accuracy or resolution of the geographic database. Shape points are illustrated along the representations of the road segments in FIG. 8.
In the geographic database, a road segment data record that represents a curved road segment includes data that indicate the locations of one or more shape points. FIG. 9 is an illustration of a road segment data record 210 that includes shape point data 212. The shape point data 212 indicate the locations of the shape points selected by the geographic database developer to represent the curved shape of the represented road segment.
As mentioned above, the bearing of the road segment at one of its end points indicates the angle made by the road segment with north. In prior geographic databases, if a represented road segment is curved, the bearing is represented by the angle made with north by a straight line linking the road segment end point with the shape point immediately adjacent thereto. FIG. 10 illustrates the bearing at each end point of the road segment 192. In prior geographic databases, data indicating the bearing at each end of a curved road segment are stored in the data record that represents the road segment in a similar manner as described above in connection with straight road segments.
As stated above, operation of a navigation system can be improved by storing data in the geographic database that facilitates certain calculations required by applications in the navigation system. The bearing data stored in a geographic database can facilitate determining the turn angle required to proceed through an intersection. If the bearing of the road segment leading into an intersection is approximately opposite (180xc2x0) the bearing of the road segment leading out of the intersection, the route proceeds approximately straight through the intersection and no guidance may be needed for that intersection. If the bearing of the road segment leading into an intersection is not approximately opposite the bearing of the road segment leading out of the intersection, appropriate guidance can be determined. By providing the bearing of road segments in a geographic database used by a navigation system, calculation of the turn angle is facilitated.
Although the provision of bearing data in a geographic database used by a navigation system provides advantages, there continues to be room for improvements. For example, in some cases, existing ways of determining the bearing of road segments may lead to results that appear to contradict what the driver observes. This may be due to the geometry of a particular intersection. This may also be due to the selection of shape points around an intersection. This may also be due to the presence of other nearby road segments.
Accordingly, there exists a need for improved ways for representing the bearing of a road segment in order to provide more consistent and meaningful route guidance.
To address these and other objectives, the present invention includes ways to provide improved route guidance with a navigation system. Route guidance with a navigation system can be improved by modifying and/or augmenting data that represent the bearings of road segments represented in a geographic database used by the navigation system. According to one aspect, a first or primary bearing is determined with respect to each end point of each road segment represented by the geographic database. The primary bearing at an end point of a road segment indicates the angle made with a predetermined direction (e.g., north) by a straight line between the end point and a significant shape point located along the road segment. The significant shape point is not necessarily the shape point closest to the end point. Instead, the significant shape point is that shape point located within or beyond a predetermined range of distance from the end point. Data indicating the primary bearing are stored in the geographic database used by the navigation system.
According to another aspect, a secondary bearing is determined for at least some of the road segments represented in the geographic database used by the navigation system. The secondary bearing indicates the angle between a predetermined direction (i.e., north) and a line extending from the farthest shape point within a view distance to the next shape point. View distance represents an estimate of the distance of the driver""s field of view as he/she approaches the intersection. The view distance is based on attributes of the road segment including an estimated width of the road and an estimated speed of the vehicle. Data indicating the secondary bearing are stored in the geographic database used by the navigation system. The secondary bearing data are provided in the geographic database in addition to the primary bearing data.
According to another aspect, the navigation system includes an application that provides route guidance. The application evaluates data that relate to an intersection along a calculated route, including the primary bearing data and the secondary bearing data. The combination of primary bearing data and the secondary bearing data are used to provide appropriate instructions for traveling through the intersection.